// 库存请求制单-依据《转移入库》
import React from 'react';
import { Card, Row, Col, Form, DatePicker, Select, Button, Modal, message, Input } from 'antd';
import { $http } from 'containers/config/https';
import Moment from 'moment';
import '../style/index.less';

const { Option } = Select;
const FormItem = Form.Item;
const formItemLayout = {    // label 和input宽度
    labelCol: { span:7 },
    wrapperCol: { span: 17 },
};

const RequestForm = Form.create()(
    class extends React.Component {
        constructor() {
            super();
            this.state = {
                userInfo: JSON.parse(window.sessionStorage.userData),
                SelectData: {},
                visible: false,
                language: JSON.parse(window.sessionStorage.userData),
              ChineseEnglishSize: {},
            };
        }

        componentDidMount() {
            this.props.onRef(this);
            // 初始化数据
            this.getTacitlyApproveData();
        }

        //清空表格内容
        handleReset = () => {
            this.props.form.resetFields();
        };

        // 获取界面默认值
        getTacitlyApproveData() {
            let data = {
                params: []
            };
            // 获取下拉数据
            $http.post('urlS', this, {
                code: "02060078",
                data: data,
                success: function (res) {
                    if (+res.errorCode === 0) {
                        this.setState({SelectData: res})
                    }
                }
            })
        }

        // 获取药品列表数据
        getWarehouseList=()=>{
            this.props.form.validateFields((err , val)=>{
                let obj = JSON.parse(JSON.stringify(val));
                if(err == null) {
                    let data = {
                        params: [{
                            frLocID: obj.frLocDr ? obj.frLocDr : undefined,
                            toLocID : obj.toLocDr ? obj.toLocDr : undefined,
                            startDate: obj.startDate ? Moment(obj.startDate).format('YYYY-MM-DD')  : undefined,
                            endDate: obj.endDate ? Moment(obj.endDate).format('YYYY-MM-DD') : undefined,
                            useDays: obj.useDays ? obj.useDays : undefined,
                            stkCatID: obj.stkCat ? obj.stkCat : undefined,
                            // stkSubCatID: obj.stkSubCatDr ? obj.stkSubCatDr : undefined,
                }],
                    };
                    $http.post('urlS', this, {
                        code: "02020250",
                        data: data,
                        success: function (res) {
                            if(res.errorCode == 0){
                                message.success(res.errorMessage);
                                this.props.handleThis.getEchoData(res.result.main.stkReqID);
                                this.handleCancel();
                            }
                        }
                    });
                }
            })
        };
        // 关闭
        handleCancel = () => {
            this.setState({
                visible: false,
            });
        };

        // 打开弹框
        showModal = (v) => {
            this.setState({
                visible: true,
                ChineseEnglishSize:v
            });
        };
        render() {
            const { getFieldDecorator } = this.props.form;
            let {ChineseEnglishSize} =this.state;
            //下拉列表
            let loc = [];
            this.state.SelectData.loc && this.state.SelectData.loc.map((item, i) => {
                loc.push(<Option value={item.id} key={i}>{item.descripts}</Option>)
            });
            return (
                <Modal
                    visible={this.state.visible}
                    onCancel={this.handleCancel}
                    width='30%'
                    footer={null}
                    className="RequestForm"
                >
                    <Row>
                        <Card
                            size="small"
                            title={<div className="card-title-left-icon"><div></div>{ChineseEnglishSize.MaterialInventoryRequestFormbaseOnTran ? ChineseEnglishSize.MaterialInventoryRequestFormbaseOnTran.descripts:'辅助请求-依据《转移入库》'}</div>}
                        >
                            <Col >
                                <Form>
                                    <Row>
                                        <Col span={12}>
                                            <FormItem {...formItemLayout} label={ChineseEnglishSize.MaterialInventoryRequestFormtoLocDr ? ChineseEnglishSize.MaterialInventoryRequestFormtoLocDr.descripts:'请求部门'}>
                                                {getFieldDecorator('toLocDr',{
                                                    initialValue: this.state.userInfo.locID ? this.state.userInfo.locID : undefined,
                                                    rules:[{ required : ChineseEnglishSize.MaterialInventoryRequestFormtoLocDr ? ChineseEnglishSize.MaterialInventoryRequestFormtoLocDr.required =='Y'? true:false: false, message: ChineseEnglishSize.MaterialInventoryRequestFormtoLocDr ? ChineseEnglishSize.MaterialInventoryRequestFormtoLocDr.message:'请求部门不能为空'}]
                                                })(
                                                    <Select allowClear={true}>
                                                        {loc}
                                                    </Select>
                                                ) }
                                            </FormItem>
                                        </Col>
                                        <Col span={12}>
                                            <FormItem {...formItemLayout} label={ChineseEnglishSize.MaterialInventoryRequestFormfrLocDr ? ChineseEnglishSize.MaterialInventoryRequestFormfrLocDr.descripts:'供给部门'}>
                                                {getFieldDecorator('frLocDr',{
                                                    initialValue: undefined,
                                                    rules:[{ required : ChineseEnglishSize.MaterialInventoryRequestFormfrLocDr ? ChineseEnglishSize.MaterialInventoryRequestFormfrLocDr.required =='Y'? true:false: false, message: ChineseEnglishSize.MaterialInventoryRequestFormfrLocDr ? ChineseEnglishSize.MaterialInventoryRequestFormfrLocDr.message:'供给部门不能为空'}]
                                                })(
                                                    <Select showSearch allowClear placeholder={ChineseEnglishSize.MaterialInventoryRequestFormfrLocDrTips ? ChineseEnglishSize.MaterialInventoryRequestFormfrLocDrTips.descripts:'请选择供给部门'} >
                                                        {loc}
                                                    </Select>
                                                ) }
                                            </FormItem>
                                        </Col>
                                    </Row>
                                    <Row>
                                        <Col span={12}>
                                            <FormItem {...formItemLayout} label={ChineseEnglishSize.MaterialInventoryRequestFormstartTime ? ChineseEnglishSize.MaterialInventoryRequestFormstartTime.descripts:'开始时间'}>
                                                {getFieldDecorator('startDate',{
                                                    initialValue: undefined,
                                                    rules:[{ required : ChineseEnglishSize.MaterialInventoryRequestFormstartTime ? ChineseEnglishSize.MaterialInventoryRequestFormstartTime.required =='Y'? true:false: false, message: ChineseEnglishSize.MaterialInventoryRequestFormstartTime ? ChineseEnglishSize.MaterialInventoryRequestFormstartTime.message:'开始时间不能为空'}] 
                                                })(
                                                    <DatePicker style={{width: '100%'}}/>
                                                ) }
                                            </FormItem>
                                        </Col>
                                        <Col span={12}>
                                            <FormItem {...formItemLayout} label={ChineseEnglishSize.MaterialInventoryRequestFormendTime ? ChineseEnglishSize.MaterialInventoryRequestFormendTime.descripts:'结束时间'}>
                                                {getFieldDecorator('endDate',{
                                                    initialValue: undefined,
                                                    rules:[{ required : ChineseEnglishSize.MaterialInventoryRequestFormendTime ? ChineseEnglishSize.MaterialInventoryRequestFormendTime.required =='Y'? true:false: false, message: ChineseEnglishSize.MaterialInventoryRequestFormendTime ? ChineseEnglishSize.MaterialInventoryRequestFormendTime.message:'结束时间不能为空'}]
                                                })(
                                                    <DatePicker style={{width: '100%'}} />
                                                ) }
                                            </FormItem>
                                        </Col>
                                    </Row>
                                    <Row>
                                        <Col span={12}>
                                            <FormItem {...formItemLayout} label={ChineseEnglishSize.MaterialInventoryRequestFormstkCatID ? ChineseEnglishSize.MaterialInventoryRequestFormstkCatID.descripts:'库存大类'}>
                                                {getFieldDecorator('stkCat',{
                                                    initialValue: undefined,
                                                    rules:[{ required : ChineseEnglishSize.MaterialInventoryRequestFormstkCatID ? ChineseEnglishSize.MaterialInventoryRequestFormstkCatID.required =='Y'? true:false: false, message: ChineseEnglishSize.MaterialInventoryRequestFormstkCatID ? ChineseEnglishSize.MaterialInventoryRequestFormstkCatID.message:'库存大类不能为空'}] 
                                                })(
                                                    <Select showSearch allowClear placeholder={ChineseEnglishSize.MaterialInventoryRequestFormstkCatIDTips ? ChineseEnglishSize.MaterialInventoryRequestFormstkCatIDTips.descripts:'请选择库存大类'} >
                                                        {this.state.SelectData.stkCat && this.state.SelectData.stkCat.map(item => {
                                                            return <Option key={item.id} value={item.id} >{item.descripts}</Option>
                                                        })}
                                                    </Select>
                                                ) }
                                            </FormItem>
                                        </Col>
                                        <Col span={12}>
                                            <FormItem {...formItemLayout} label={ChineseEnglishSize.MaterialInventoryRequestFormuseDays ? ChineseEnglishSize.MaterialInventoryRequestFormuseDays.descripts:'参考天数'}>
                                                {getFieldDecorator('useDays',{
                                                    initialValue:  undefined,
                                                    rules:[{ required : ChineseEnglishSize.materialWarehouseCheckRecLoc ? ChineseEnglishSize.materialWarehouseCheckRecLoc.required =='Y'? true:false: false, message: ChineseEnglishSize.materialWarehouseCheckRecLoc ? ChineseEnglishSize.materialWarehouseCheckRecLoc.message:'参考天数不能为空'}]
                                                })(
                                                   <Input placeholder={ChineseEnglishSize.MaterialInventoryRequestFormuseDays ? ChineseEnglishSize.MaterialInventoryRequestFormuseDays.descripts:'请输入参考天数'}/>
                                                ) }
                                            </FormItem>
                                        </Col>
                                    </Row>
                                    <Row style={{marginTop: '4px', textAlign: 'center'}} className="buttonLeft">
                                        <Button onClick={this.getWarehouseList}>{ChineseEnglishSize.MaterialInventoryRequestFormsave ? ChineseEnglishSize.MaterialInventoryRequestFormsave.descripts:'保存'}</Button>
                                        <Button style={{marginLeft: '90px'}} onClick={this.handleReset}>{ChineseEnglishSize.MaterialInventoryRequestFormempty ? ChineseEnglishSize.MaterialInventoryRequestFormempty.descripts:'清空'}</Button>
                                    </Row>
                                </Form>
                            </Col>
                        </Card>
                    </Row>
                </Modal>
            )
        }
    }
);
export default RequestForm;